package testes;

import logica.pessoa.PessoaFisica;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

public class TestaPessoaFisica {

	
	private PessoaFisica pessoaFisica;
	
	@Before public void iniciaTeste(){
		
		
			this.pessoaFisica = new PessoaFisica();
		
	}	
	
		
	@Test 	public void TestaCPF(){

		try{
			//a primeira excfessao lancada sera de cpf
			pessoaFisica.setCPF("0123456789");
		
			Assert.fail();
		}
		
		catch (Exception e) {
			
			Assert.assertEquals("\n\t<CPF invalido!>", e.getMessage());
		}
		
		
		
		
		try{
			pessoaFisica.setCPF("0123456789as");
			Assert.fail();
		}
		
		catch (Exception e) {
			Assert.assertEquals("\n\t<CPF invalido!>", e.getMessage());
		}

	}
		
		
		@Test public void testaEndereco(){ 
	
		try{
			pessoaFisica.setEndereco(null);
			Assert.fail();
		}
		
		catch (Exception e) {
			Assert.assertEquals("\n\t<Endereco invalido!>", e.getMessage());
		}
	}
	
	
	
	@Test public void TestaRG(){
		try{
			pessoaFisica.setRG(null);
			
			Assert.fail();
		}
		
		catch (Exception e) {
			Assert.assertEquals("\n\t<RG invalido!>", e.getMessage());
		}
		
		
		
		
		try{
			pessoaFisica.setRG("0 1 2 3");
		
			Assert.fail();
		}
		
		catch (Exception e) {
			Assert.assertEquals("\n\t<RG invalido!>", e.getMessage());
		}
		
		
		
		
		try{
			pessoaFisica.setRG("0c1b2a3");
		
			Assert.fail();
		}
		
		catch (Exception e) {
			Assert.assertEquals("\n\t<RG invalido!>", e.getMessage());
		}
		
		
		
		
		try{
			pessoaFisica.setRG("012aaa00");
			
			Assert.fail();
		}
		
		catch (Exception e) {
			Assert.assertEquals("\n\t<RG invalido!>", e.getMessage());
		}
	}
	

	@Test public void TestaNacionalidade(){
		
		try{
			pessoaFisica.setNaturalidade("          ");
			
			Assert.fail();
		}
		
		catch (Exception e) {
			Assert.assertEquals("\n\t<Naturalidade invalida!>", e.getMessage());
		}
		
	}
}